分享

关于mozilla嵌入插件的总结

 jinzq 2007-01-23

关于mozilla嵌入插件的总结


firefoxplugin有两种版本,一种是安装版一种是便携版,安装版的插件可以识别一切插件wmp realplayer qt java flash,而便携版(Portable FXTorpark)只能识别出wmp realplayer qt flash, 而不能识别java

firefox中插件嵌入的运行机制是:当用户启动firefox,它首先会去判断网页中是否嵌入了插件,如果网页中嵌入了插件,就会到C:\Documents and Settings\%user%\Application Data\Mozilla\Firefox\pluginreg.dat文件里跟据网页中embed所对应的type值找到相应的插件信息(%user%是你的windows用户名),把插件嵌入到网页中,如果没有嵌入插件,则不会去访问pluginreg.dat文件.

pluginreg.dat记录了所有的插件信息,这个文件的来源是每次启动firefox,如有嵌入了插件,firefox就会到注册表里HKEY_CURRENT_USER->software->mozillaplugins,HKEY_CURRENT_USER->software->mozilla->mozilla firefox 1.5.0.7->extensions,HKEY_LOCAL_MACHINE->SOFTWARE->mozilla->mozilla firefox 1.5.0.7->extensions,HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins里面去搜索所有已注册的插件,然后形成pluginreg.dat文件,如果有新安装的插件,pluginreg.dat文件会被更新.

我们现在自己做的插件,只要把DLL文件和XPT文件分别复制到pluginscomponent这两个文件里就可以使用,因为在注册表里 HKEY_LOCAL_MACHINE->SOFTWARE->mozilla->mozilla firefox 1.5.0.7->extensions 分别记录了plugincomponent这两个信息,他们的默认路径分别是C:\Program Files\Mozilla Firefox\pluginsC:\Program Files\Mozilla Firefox\components,所以每次搜索插件信息时,它也会到这两个路径下去搜索插件.

mozilla插件”启用与不启用的总结

源码部分跟踪调试分析结果如下:

相关文件:ooo_SRC680_m120_src\svx\source\dialog\optinet2.cxxooo_SRC680_m120_src\svx\source\dialog\treeopt.cxx

分析结果:

分析源码后发现,选择与不选择OpenOffice"Mozilla插件"主要是跟ooo_SRC680_m120_src\svx\source\dialog\optinet2.cxx文件中的MozPluginTabPage::FillItemSet()方法有关,该方法的源码如下:

BOOL MozPluginTabPage::FillItemSet( SfxItemSet& )

{

BOOL hasInstall = isInstalled();

BOOL hasChecked = aWBasicCodeCB.IsChecked();

if(hasInstall && (!hasChecked)){

//try to uninstall

uninstallPlugin();

}

else if((!hasInstall) && hasChecked){

//try to install

installPlugin();

}

else{

// do nothing

}

return TRUE;

}

mozilla插件”选项它的主要功能是在搜索插件时,是否要到C:\ProgramFiles\OpenOffice.org 1.9.120\program下面搜索相应的插件

以上方法完成的功能分为以下两种情况:

1.如果没有选择OpenOffice里面的"Mozilla插件"选项,则会在注册表HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins中删除@sun.com/npsopluginmi;version=1.0

他的路径是C:\Program Files\OpenOffice.org 1.9.120\program,这样在搜索插件的时候就不会到这个路径下去搜索

2如果选择OpenOffice里面的"Mozilla插件"选项则会在注册表中HKEY_LOCAL_MACHINE->SOFTWARE->mozillaplugins下面形成@sun.com/npsopluginmi;version=1.0所对应的路径是C:\Program Files\OpenOffice.org 1.9.120\program,这样搜索插件时就会到这个目录下搜索插件形成pluginreg.dat文件

所以我们做的插件也可以复制到C:\Program Files\OpenOffice.org 1.9.120\program里面,这时要把“mozilla选项”选上,它才会到这个路径下搜索,但是还有一种特殊的情况就是如果把插件文件分别都考到了C:\Program Files\OpenOffice.org 1.9.120\programC:\Program Files\Mozilla Firefox\pluginsC:\Program Files\Mozilla Firefox\components下面,同时“mozilla选项”已选上,这时pluginreg.dat文件里就会有两个你所复制的插件信息,但是不影响插件的使用。










    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多